Skip to content

CI(gh-2126): transition to uv for dependency management and testing#2129

Merged
fehiepsi merged 23 commits into
pyro-ppl:masterfrom
Qazalbash:issue-2126
Mar 20, 2026
Merged

CI(gh-2126): transition to uv for dependency management and testing#2129
fehiepsi merged 23 commits into
pyro-ppl:masterfrom
Qazalbash:issue-2126

Conversation

@Qazalbash
Copy link
Copy Markdown
Collaborator

No description provided.

@Qazalbash Qazalbash marked this pull request as draft January 27, 2026 12:51
@Qazalbash
Copy link
Copy Markdown
Collaborator Author

Progress blocked by: pyro-ppl/pyro-api#25

@fehiepsi
Copy link
Copy Markdown
Member

It's not clear to me how to fix issues with pyro-api. Maybe just simply comment out the installation in CI and point to your PR? we don't test it here I guess.

@Qazalbash Qazalbash marked this pull request as ready for review March 11, 2026 22:11
@fehiepsi fehiepsi added the WIP label Mar 14, 2026
@Qazalbash Qazalbash linked an issue Mar 18, 2026 that may be closed by this pull request
- Add --cov-report=lcov to pytest commands for Coveralls compatibility.
- Use --cov-append to aggregate coverage results across multiple test runs within jobs.
- Explicitly point the Coveralls action to the generated LCOV files.
- Synchronize the finish job condition with parallel test jobs.
@Qazalbash
Copy link
Copy Markdown
Collaborator Author

@fehiepsi @juanitorduz, this PR is ready for review and merge.

Comment thread docs/requirements.txt Outdated
@Qazalbash Qazalbash requested a review from fehiepsi March 19, 2026 16:59
@Qazalbash
Copy link
Copy Markdown
Collaborator Author

Qazalbash commented Mar 19, 2026

to: @fehiepsi
cc: @juanitorduz

The uv.lock file is a lockfile generated by the uv package manager that records the exact versions of every dependency (and their sub-dependencies) used in the project. Currently, it is ignored in our .gitignore.

While it requires persistent updates to prevent it from becoming stale, we could automate this via a GitHub bot. My idea is to have it run uv lock --upgrade once a month and open a PR for us to review.

What are your thoughts on this, and does that update frequency sound reasonable to you?

@Qazalbash
Copy link
Copy Markdown
Collaborator Author

Copy link
Copy Markdown
Collaborator

@juanitorduz juanitorduz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I like the change as it makes the code much more maintainable :)

Why did you also change the code-cov logic that was set up? (Are the failures on the CI a reason for that?)

I am trying to fix the JAX release issue in #2155 so that we can remove the bounds.

Comment thread .github/workflows/ci.yml
@juanitorduz
Copy link
Copy Markdown
Collaborator

I suggest we try merging #2155 first to that this change is "smaller" :)

Copy link
Copy Markdown
Collaborator

@juanitorduz juanitorduz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

As this is an important change I suggest we wait for @fehiepsi 's review :)

Copy link
Copy Markdown
Member

@fehiepsi fehiepsi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I like that this only affects CI. Hope that this new tool does not introduce extra maintenance burden.

@fehiepsi fehiepsi merged commit 59f4452 into pyro-ppl:master Mar 20, 2026
9 checks passed
@juanitorduz
Copy link
Copy Markdown
Collaborator

LGTM - I like that this only affects CI. Hope that this new tool does not introduce extra maintenance burden.

I think the opposite uv is used a lot (and their dev company Astra, was quired yesteday by Open AI, so there is money around hehe)

@Qazalbash Qazalbash deleted the issue-2126 branch March 20, 2026 15:15
@Qazalbash
Copy link
Copy Markdown
Collaborator Author

@fehiepsi @juanitorduz what about this?

@juanitorduz
Copy link
Copy Markdown
Collaborator

to: @fehiepsi cc: @juanitorduz

The uv.lock file is a lockfile generated by the uv package manager that records the exact versions of every dependency (and their sub-dependencies) used in the project. Currently, it is ignored in our .gitignore.

While it requires persistent updates to prevent it from becoming stale, we could automate this via a GitHub bot. My idea is to have it run uv lock --upgrade once a month and open a PR for us to review.

What are your thoughts on this, and does that update frequency sound reasonable to you?

I have experience with lock files for private projects, but I have never tried it for open source projects 😅

@fehiepsi
Copy link
Copy Markdown
Member

I'm not familiar with uv so I can't say. We can try it as long as it doesn't affect current user's workflow.

@Qazalbash
Copy link
Copy Markdown
Collaborator Author

I'm not familiar with uv so I can't say. We can try it as long as it doesn't affect current user's workflow.

It will not affect users; it is for CI.

@fehiepsi
Copy link
Copy Markdown
Member

It seems to help us address regression once per month instead of per pull request?

@juanitorduz
Copy link
Copy Markdown
Collaborator

It seems to help us address regression once per month instead of per pull request?

This would be great! We might wanna try it out. Everytime jax or nnx make a release things break 😅

@juanitorduz
Copy link
Copy Markdown
Collaborator

mmmm but also the fixes are quick and not a burden ... we can catch them faster 🏃

@Qazalbash
Copy link
Copy Markdown
Collaborator Author

It seems to help us address regression once per month instead of per pull request?

Yes, we can do that, but what if there are three or four active PRs? Then we are likely to get merge conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate build process and CI to uv

3 participants